Django Projekt Setup

Von 0 auf FirstMovieAPI

Eine Schritt-für-Schritt Anleitung

Windows 11 | Visual Studio Code | Django

📋 Was wir heute machen

Wir starten bei 0 und erstellen zusammen ein vollständiges Django-Projekt!

1

Python Installation

Python auf Windows 11 installieren

2

VS Code Setup

Editor einrichten und konfigurieren

3

Django Installation

Virtuelle Umgebung und Django

4

Projekt erstellen

FirstMovieAPI entwickeln

🔧 Voraussetzungen

Was du brauchst:

  • ✅ Windows 11 (frisch installiert oder bestehend)
  • ✅ Visual Studio Code (bereits installiert)
  • ✅ Internetverbindung für Downloads
  • ✅ Administrator-Rechte für Installationen
  • ✅ Ca. 30-60 Minuten Zeit

Was wir gemeinsam installieren:

  • Python 3.12+
  • pip (Python Package Manager)
  • Django Framework
  • VS Code Extensions

📥 Schritt 1: Python herunterladen

🌐

Website öffnen

Öffne deinen Browser und gehe zu:

https://www.python.org/downloads/
⬇️

Download starten

Klicke auf den großen gelben Button:

"Download Python 3.12.x"

Die Website erkennt automatisch dein Windows-System

💡 Tipp:

Lade immer die neueste stabile Version herunter. Zum Zeitpunkt dieses Kurses ist das Python 3.12.x

⚙️ Schritt 2: Python installieren

1

Installer starten

Doppelklicke auf die heruntergeladene python-3.12.x-amd64.exe

2

⚠️ WICHTIG: PATH aktivieren!

Setze den Haken bei:

☑️ Add Python 3.12 to PATH

Dies ist ESSENTIELL! Ohne diesen Haken funktioniert Python nicht im Terminal!

3

Installation durchführen

Klicke auf "Install Now"

Bestätige die Admin-Berechtigung

4

Warten und abschließen

Die Installation dauert ca. 2-3 Minuten

Klicke am Ende auf "Close"

✅ Schritt 3: Installation überprüfen

Terminal öffnen:

Option 1: Windows-Taste drücken, "cmd" tippen, Enter

Option 2: Windows-Taste + R, dann "cmd" eingeben

Python Version prüfen:

python --version
py --version

✅ Erwartete Ausgabe: Python 3.12.x

pip Version prüfen:

pip --version
py -m pip --version

✅ Erwartete Ausgabe: pip 24.x.x from C:\Users\...

❌ Fehler "python ist nicht erkannt"?

→ Python wurde nicht zum PATH hinzugefügt

→ Lösung: Deinstalliere Python und installiere es erneut MIT Haken bei "Add to PATH"!

🧩 Schritt 4: VS Code Extensions installieren

🐍

Python Extension

Herausgeber: Microsoft

  • IntelliSense & Code-Vervollständigung
  • Debugging-Unterstützung
  • Linting & Formatierung
Extensions → "Python" suchen → Install
🎯

Django Extension

Herausgeber: Baptiste Darthenay

  • Django Template Syntax-Highlighting
  • Snippets für Django-Code
  • Template Tag Auto-Completion
Extensions → "Django" suchen → Install
📝

Python Indent

Herausgeber: Kevin Rose

  • Automatische Einrückung
  • Python-spezifische Formatierung
Extensions → "Python Indent" → Install

Pylance

Herausgeber: Microsoft

  • Type Checking
  • Auto-Imports
  • Schnellere IntelliSense
Extensions → "Pylance" → Install

💡 Schnellzugriff: Drücke Strg + Shift + X um die Extensions-Ansicht zu öffnen

📁 Schritt 5: Projektordner erstellen

🗂️

Option 1: Windows Explorer

Schritt für Schritt:

  • Öffne den Windows Explorer
  • Navigiere zu C:\
  • Erstelle Ordner "Django"
  • Darin Ordner "FirstMovieAPI"
C:\Django\FirstMovieAPI\
⌨️

Option 2: Terminal (CMD)

Mit Befehlen:

mkdir C:\Django\FirstMovieAPI
cd C:\Django\FirstMovieAPI

Schneller für erfahrene Nutzer

Ordner in VS Code öffnen:

Methode 1: VS Code öffnen → File → Open Folder → FirstMovieAPI auswählen

Methode 2: Im Terminal: code C:\Django\FirstMovieAPI

Methode 3: Rechtsklick auf Ordner → "Mit Code öffnen"

💻 Schritt 6: Terminal in VS Code öffnen

Integriertes Terminal starten:

Tastenkombination: Strg + Ö (oder Strg + `)

Über Menü: Terminal → New Terminal

Über Command Palette: Strg + Shift + P → "Terminal: Create New Terminal"

Terminal-Typen (Standard: PowerShell):

  • PowerShell - Modern, empfohlen
  • Command Prompt (CMD) - Klassisch
  • Git Bash - Falls Git installiert

✅ Überprüfung:

Du solltest nun sehen:

PS C:\Django\FirstMovieAPI>

Das Terminal ist bereit und im richtigen Projektordner!

🔒 Schritt 7: Virtuelle Umgebung erstellen

Was ist eine virtuelle Umgebung?

Eine isolierte Python-Installation für dein Projekt!

📦

Isolation

Jedes Projekt hat seine eigenen Pakete

Keine Konflikte zwischen Projekten

🔧

Verwaltung

Einfaches Dependency Management

Reproduzierbare Umgebungen

Virtuelle Umgebung erstellen:

python -m venv venv

Erklärung:

  • python -m venv - Modul zum Erstellen virtueller Umgebungen
  • venv - Name des Ordners (Konvention: "venv")

⏱️ Dies dauert ca. 10-20 Sekunden

▶️ Schritt 8: Virtuelle Umgebung aktivieren

💻

PowerShell (Standard)

venv\Scripts\Activate.ps1

Falls Fehler "Ausführung von Skripts ist auf diesem System deaktiviert":

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
⌨️

Command Prompt (CMD)

venv\Scripts\activate.bat

Einfacher, keine Berechtigungsprobleme

✅ Erfolgreich aktiviert?

Du erkennst es am (venv) vor dem Pfad:

(venv) PS C:\Django\FirstMovieAPI>

Wichtig für später:

  • Immer wenn du am Projekt arbeitest: venv aktivieren!
  • Deaktivieren: deactivate
  • VS Code erkennt venv automatisch und bietet Aktivierung an

🎯 Schritt 9: Django installieren

⚠️ Stelle sicher, dass (venv) aktiv ist!

Django Installation mit pip:

pip install django

⏱️ Die Installation dauert ca. 1-2 Minuten

Installation überprüfen:

django-admin --version

✅ Erwartete Ausgabe: 5.1.x (oder neuer)

Alle installierten Pakete anzeigen:

pip list

Du solltest sehen:

Django           5.1.x
pip              24.x
setuptools       ...
sqlparse         ...

🔧 Optional: Django REST Framework

Für API-Entwicklung (später wichtig):

pip install djangorestframework

🚀 Schritt 10: Django Projekt erstellen

Projekt "firstmovieapi" erstellen:

django-admin startproject firstmovieapi .

⚠️ WICHTIG: Der Punkt am Ende!

Der Punkt bedeutet: "Erstelle das Projekt im AKTUELLEN Ordner"

Ohne Punkt würde ein zusätzlicher Unterordner erstellt werden

📂 Erstellte Projektstruktur:

FirstMovieAPI/
│
├── venv/                      # Virtuelle Umgebung (bereits vorhanden)
│
├── firstmovieapi/            # Hauptkonfiguration
│   ├── __init__.py           # Python Package Marker
│   ├── settings.py           # Projekt-Einstellungen ⚙️
│   ├── urls.py               # URL-Routing 🔗
│   ├── asgi.py               # ASGI Server (für Websockets)
│   └── wsgi.py               # WSGI Server (für Deployment)
│
└── manage.py                  # Django Management-Tool 🔧

⚙️ Schritt 11: settings.py verstehen

Öffne: firstmovieapi/settings.py

Die wichtigsten Einstellungen im Überblick:

DEBUG = True

Entwicklungsmodus - zeigt detaillierte Fehlermeldungen

DEBUG = True  # In Production: False!

ALLOWED_HOSTS = []

Welche Domains dürfen auf die App zugreifen

ALLOWED_HOSTS = []  # Leer = nur localhost

INSTALLED_APPS

Registrierte Django-Apps und Erweiterungen

INSTALLED_APPS = [
    'django.contrib.admin',      # Admin-Interface
    'django.contrib.auth',       # Authentifizierung
    'django.contrib.contenttypes',
    'django.contrib.sessions',   # Session-Management
    'django.contrib.messages',   # Flash Messages
    'django.contrib.staticfiles', # Static Files (CSS, JS)
]

DATABASES

Datenbank-Konfiguration (Standard: SQLite)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

📱 Schritt 12: Erste App "movies" erstellen

Was ist eine Django App?

Eine App ist eine Komponente deines Projekts mit spezifischer Funktionalität

  • Projekt: Die gesamte Website (firstmovieapi)
  • App: Ein Feature-Bereich (movies, users, reviews, etc.)

App erstellen:

python manage.py startapp movies

📂 Neue Struktur:

FirstMovieAPI/
├── venv/
├── firstmovieapi/
├── movies/                    # 🆕 Unsere neue App!
│   ├── migrations/           # Datenbank-Migrationen
│   │   └── __init__.py
│   ├── __init__.py
│   ├── admin.py              # Admin-Konfiguration
│   ├── apps.py               # App-Konfiguration
│   ├── models.py             # Datenmodelle 🗃️
│   ├── tests.py              # Tests
│   └── views.py              # Views/Logik 🎯
└── manage.py

📝 Schritt 13: App in settings.py registrieren

⚠️ Wichtiger Schritt!

Django muss wissen, dass unsere App existiert!

Öffne: firstmovieapi/settings.py

Füge 'movies' zu INSTALLED_APPS hinzu:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'movies',  # 🆕 Unsere App hinzufügen!
]

💡 Tipp: Eigene Apps werden üblicherweise am Ende der Liste eingetragen

Alternative: Vollständiger Pfad

Für mehr Klarheit kann auch der vollständige Pfad verwendet werden:

'movies.apps.MoviesConfig',  # aus movies/apps.py

🗄️ Schritt 14: Datenbank erstellen (Migration)

Was sind Migrations?

Migrations sind Django's Art, Datenbankänderungen zu verwalten

  • Erstellen von Tabellen
  • Ändern von Spalten
  • Hinzufügen von Beziehungen
  • Versionskontrolle für Datenbankstruktur

Erste Migration durchführen:

python manage.py migrate

✅ Django erstellt automatisch:

  • Die Datei db.sqlite3 (SQLite-Datenbank)
  • Tabellen für Admin, Auth, Sessions, etc.

Du solltest sehen:

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  ...
  Applying sessions.0001_initial... OK

👤 Schritt 15: Superuser erstellen

Admin-Zugang einrichten:

python manage.py createsuperuser

Django fragt dich nach folgenden Informationen:

1

Username:

Username: admin

Beliebiger Name, merken für Login!

2

Email:

Email address: admin@example.com

Optional, kann leer gelassen werden

3

Password:

Password: ••••••••
Password (again): ••••••••

⚠️ WICHTIG: Merke dir das Passwort!

Mindestens 8 Zeichen empfohlen

✅ Erfolgreich erstellt:

Superuser created successfully.

🚀 Schritt 16: Development Server starten

Server starten:

python manage.py runserver

Erwartete Ausgabe:

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
November 09, 2025 - 14:30:00
Django version 5.1.x, using settings 'firstmovieapi.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
🌐

Website öffnen

Öffne deinen Browser:

http://127.0.0.1:8000/

Oder:

http://localhost:8000/

✅ Du solltest die Django-Willkommensseite sehen!

🔧

Server-Optionen

Anderen Port verwenden:

python manage.py runserver 8080

Server stoppen:

Strg + C

⚙️ Schritt 17: Admin Panel testen

1

Server läuft?

Stelle sicher, dass runserver aktiv ist

2

Admin-URL öffnen

http://127.0.0.1:8000/admin/

Wichtig: Das /admin/ am Ende!

3

Login

Verwende deine Superuser-Daten:

  • Username: admin
  • Password: (dein gewähltes Passwort)
4

Erkunden!

Du siehst jetzt das Django Admin Interface:

  • 📊 Benutzer verwalten
  • 👥 Gruppen und Berechtigungen
  • 🔧 Später: Deine eigenen Models

📂 Finale Projektstruktur

C:\Django\FirstMovieAPI\
│
├── venv/                          # 🔒 Virtuelle Umgebung
│   ├── Scripts/
│   │   ├── activate.bat           # Aktivierung (CMD)
│   │   ├── Activate.ps1          # Aktivierung (PowerShell)
│   │   └── python.exe            # Python in venv
│   └── Lib/                      # Installierte Packages
│
├── firstmovieapi/                # 🎯 Projekt-Konfiguration
│   ├── __init__.py
│   ├── settings.py               # ⚙️ Einstellungen
│   ├── urls.py                   # 🔗 URL-Routing
│   ├── asgi.py                   # Async Server
│   └── wsgi.py                   # Web Server
│
├── movies/                        # 📱 Unsere App
│   ├── migrations/               # 🗄️ Datenbank-Änderungen
│   │   └── __init__.py
│   ├── __init__.py
│   ├── admin.py                  # 👨‍💼 Admin-Interface
│   ├── apps.py                   # App-Konfiguration
│   ├── models.py                 # 📊 Datenmodelle
│   ├── tests.py                  # ✅ Tests
│   └── views.py                  # 🎨 Views/Logik
│
├── db.sqlite3                    # 🗃️ SQLite-Datenbank
└── manage.py                     # 🔧 Django Management

📝 Django Befehle - Cheat Sheet

🔄

Virtuelle Umgebung

# Aktivieren (PowerShell):
venv\Scripts\Activate.ps1

# Aktivieren (CMD):
venv\Scripts\activate.bat

# Deaktivieren:
deactivate
🚀

Server & Projekt

# Server starten:
python manage.py runserver

# Server mit anderem Port:
python manage.py runserver 8080

# Neues Projekt:
django-admin startproject name .

# Neue App:
python manage.py startapp appname
🗄️

Datenbank

# Migrations erstellen:
python manage.py makemigrations

# Migrations anwenden:
python manage.py migrate

# Migration für bestimmte App:
python manage.py migrate appname

# Migrations anzeigen:
python manage.py showmigrations
👤

User & Admin

# Superuser erstellen:
python manage.py createsuperuser

# Passwort ändern:
python manage.py changepassword username

# Django Shell öffnen:
python manage.py shell

🔧 Häufige Probleme & Lösungen

❌ "python" wird nicht erkannt

Problem:

Python ist nicht im System-PATH

Lösung:

  • Python deinstallieren
  • Neu installieren MIT "Add to PATH"
  • Computer neu starten

❌ "django-admin" nicht gefunden

Problem:

Virtuelle Umgebung nicht aktiviert oder Django nicht installiert

Lösung:

  • Prüfe: Ist (venv) im Terminal sichtbar?
  • Falls nein: venv\Scripts\activate
  • Django neu installieren: pip install django

❌ Port bereits in Verwendung

Problem:

Port 8000 wird bereits verwendet

Lösung:

# Anderen Port nutzen:
python manage.py runserver 8001

# Oder laufenden Server beenden:
Strg + C

❌ Migrations-Fehler

Problem:

Datenbank-Fehler oder inkonsistente Migrations

Lösung (Entwicklung):

# Datenbank löschen:
del db.sqlite3

# Migrations neu durchführen:
python manage.py migrate

⚠️ Nur in Entwicklung! Löscht alle Daten!

❌ VS Code erkennt Python nicht

Problem:

VS Code verwendet falschen Python Interpreter

Lösung:

  • Strg + Shift + P
  • "Python: Select Interpreter"
  • Wähle Python aus venv\Scripts\

❌ PowerShell Execution Policy

Problem:

"Skripts können nicht ausgeführt werden"

Lösung:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Oder nutze CMD statt PowerShell

✨ Best Practices

🔒

Virtuelle Umgebung

  • Immer in venv arbeiten!
  • Vor jedem Arbeiten aktivieren
  • Pro Projekt eine eigene venv
📦

Dependencies

Requirements-Datei erstellen:

pip freeze > requirements.txt

Später wiederherstellen:

pip install -r requirements.txt
🚫

.gitignore erstellen

Folgendes NICHT committen:

venv/
__pycache__/
*.pyc
db.sqlite3
.env
.vscode/
🔐

Security

  • SECRET_KEY geheim halten
  • DEBUG = False in Production
  • ALLOWED_HOSTS konfigurieren
  • Starke Passwörter verwenden
📝

Namenskonventionen

  • Apps: Plural (movies, users)
  • Models: Singular (Movie, User)
  • Projekt: lowercase, keine Leerzeichen
  • PEP 8 Style Guide befolgen
🗄️

Migrations

  • Nach Model-Änderung: makemigrations
  • Danach immer: migrate
  • Migrations committen (Git)
  • Nie manuell Datenbank ändern

✅ Was haben wir erreicht?

Python installiert

Python 3.12+ erfolgreich auf Windows 11 eingerichtet

VS Code konfiguriert

Alle wichtigen Extensions für Django-Entwicklung installiert

Virtuelle Umgebung

Isolierte Python-Umgebung für unser Projekt erstellt

Django installiert

Django Framework erfolgreich installiert und getestet

Projekt "FirstMovieAPI"

Vollständiges Django-Projekt mit App "movies" erstellt

Datenbank migriert

SQLite-Datenbank eingerichtet und initialisiert

Admin-Zugang

Superuser erstellt und Admin-Panel getestet

Server läuft!

Development Server erfolgreich gestartet und getestet

🚀 Nächste Schritte

Deine Django-Lernreise geht weiter:

1

Models erstellen

Movie, Director, Genre

Datenmodelle definieren

2

Admin konfigurieren

Models im Admin registrieren

Custom Admin-Ansichten

3

Views & URLs

API-Endpoints erstellen

URL-Routing konfigurieren

4

REST API

Django REST Framework

Serializers & ViewSets

🎯 Übung für dich:

  • Erstelle ein zweites Projekt zur Übung
  • Experimentiere mit verschiedenen Apps
  • Erkunde das Django Admin-Interface
  • Lies die Django-Dokumentation: docs.djangoproject.com

📚 Nützliche Ressourcen

📖 Offizielle Dokumentation

Django Docs:

docs.djangoproject.com

Die beste Quelle für Django-Wissen!

  • Tutorial für Einsteiger
  • Ausführliche Referenzen
  • Best Practices

🎓 Tutorials

Django Girls Tutorial:

Anfängerfreundlich & kostenlos

Real Python:

Fortgeschrittene Tutorials

Django for Beginners:

Buch von William S. Vincent

💬 Community

Django Forum:

forum.djangoproject.com

Stack Overflow:

Tag: [django]

Reddit:

r/django

🛠️ Tools

Django Packages:

djangopackages.org

Django REST Framework:

www.django-rest-framework.org

Django Debug Toolbar:

Entwickler-Tool für Debugging

🎯 Zusammenfassung

🔧 Setup abgeschlossen

  • Python installiert & konfiguriert
  • VS Code eingerichtet
  • Django-Entwicklungsumgebung bereit

📱 Projekt erstellt

  • firstmovieapi Projekt
  • movies App
  • Datenbank migriert
  • Admin-Zugang eingerichtet

✅ Server läuft

  • Development Server getestet
  • Admin-Panel funktioniert
  • Bereit für Entwicklung!

📚 Gelernt

  • Django Projektstruktur
  • Management Commands
  • Virtuelle Umgebungen
  • Migrations-System

🎉 Herzlichen Glückwunsch!

Du hast erfolgreich dein erstes Django-Projekt erstellt!

Du bist bereit, richtige Web-Anwendungen zu entwickeln!

💡 Wichtige Erinnerungen

Denke immer daran:

  • Aktiviere die virtuelle Umgebung vor dem Arbeiten
  • Speichere regelmäßig deine Arbeit
  • Committe deine Änderungen (Git)
  • Teste deine Anwendung regelmäßig
  • Lies Fehlermeldungen genau durch
  • Nutze die Django-Dokumentation
  • Frage die Community bei Problemen
  • Übung macht den Meister!

📝 Workflow-Erinnerung:

# 1. Terminal öffnen
# 2. Zum Projekt navigieren
cd C:\Django\FirstMovieAPI

# 3. Virtuelle Umgebung aktivieren
venv\Scripts\activate

# 4. Server starten
python manage.py runserver

# 5. Im Browser öffnen
# http://127.0.0.1:8000/

Viel Erfolg!

Deine Django-Reise hat begonnen 🚀

"The only way to learn a new programming language is by writing programs in it."

— Dennis Ritchie

Bereit für den nächsten Schritt?

Im nächsten Modul erstellen wir unsere ersten Models!

1 / 30